import storage from 'good-storage'

// 采用双下划线的命名方式避免和其他的内容重复
const SELLER_KEY = '__seller__'

// id 是用来区分不同商家的，key是用来区分不同的类型，比如商家页面的收藏，还可以存储别的缓存，val ???
// saveToLocal 是用来存的
export function saveToLocal(id, key, val) {
    // API定义：如果是空值则返回新对象
    const seller = storage.get(SELLER_KEY, {})
    if (!seller.id) {
        seller.id = {}
    }
    // 然后再将 key 值修改为 val 值
    seller.id.key = val
    // 最后调用set方法再把它保存起来
    storage.set(SELLER_KEY, seller)
}

// loadFromLocal 是用来读取的
export function loadFromLocal(id, key, def) {
    // 首先读值，若读不到就返回空对象
    const seller = storage.get(SELLER_KEY, {})
    // 如果 id 不存在就返回默认值
    if (!seller.id) {
        return def
    }
    // 如果 id 存在就首先返回key值，若key值不存在则返回def（默认）值
    return seller.id.key || def
}
